If an input event is received by a specific window, then that window is given as
a slot value in the corresponding <#2014#><TT>event</TT><#2014#> object. CLUE begins by determining
the contact corresponding to the event window and calling the contact's
<#2015#><TT>handle-event</TT><#2015#> method.
<A ID="2016"><tex2html_anchor_invisible_mark></A>
Subsequent contact event processing
involves ``translating'' the event into calls to the appropriate
actions<A ID="2017"><tex2html_anchor_invisible_mark></A> and is controlled by the contact's <#2018#><TT>event-translations</TT><#2018#> slot and its class event translations.
Most types of events can be received by a contact only if they are selected by
the contact's <#2052#><TT>event-mask</TT><#2052#>. CLUE automatically initializes a contact's <#2053#><TT>event-mask</TT><#2053#> slot to select all event types referenced by its <#2054#><TT>event-translations</TT><#2054#> slot and its class event translations. The <#2055#><TT>event-mask</TT><#2055#>
is also modified appropriately by <#2056#><TT>add-event</TT><#2056#> and <#2057#><TT>delete-event</TT><#2057#>.
As a result, CLUE programmers rarely need to modify a contact's <#2058#><TT>event-mask</TT><#2058#>
slot directly.
<P>
CLUE initiates contact event processing by calling the contact's <#2059#><TT>handle-event</TT><#2059#> method. By default, this method simply processes an event
according to the contact's event translations and class event
translations.
However, some
contact classes may redefine the <#2060#><TT>handle-event</TT><#2060#> method in order to add input processing unrelated to event
translations.
<#2061#><TT>handle-event</TT><#2061#> calls <#2062#><TT>translate-event</TT><#2062#> in order to determine